// house_pkg/pages/locate/index.ts
import qqMap from '../../../utils/qqmap'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    address: '',
    points: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad() {
    // 用户所在位置经纬度
    const { latitude, longitude } = await wx.getLocation()
    // 查看经纬度
    console.log(latitude, longitude)

    this.getPoint(latitude, longitude)
  },

  // 用户自主重新定位
  async chooseLocation() {
    // 用户所在位置经纬度
    const { latitude, longitude } = await wx.chooseLocation()
    // 查看经纬度
    console.log(latitude, longitude)

    this.getPoint(latitude, longitude)
  },

  // 调用腾讯位置服务sdk通过经纬度转换地址信息
  getPoint(latitude, longitude) {
    wx.showLoading({
      title: '正在加载...',
      mask: true
    })
    
    // 逆解析用户选择的经纬度, 输出文字显示
    qqMap.reverseGeocoder({
      // 经纬度
      location: [latitude, longitude].join(','),
      // 成功回调
      success: ({result:{address}}) => {
        // console.log('逆解析成功');
        // console.log(address);
        this.setData({
          address
        })
      }
    })

    // 根据用户选择的经纬度搜索附近公寓供用户选择
    qqMap.search({
      keyword: '住宅小区',
      location: [latitude, longitude].join(','),
      page_size: 5,
      success: ({data}) => {
        // 建议小程序当中只将必须的数据放入setData
        const points = data.map(item=>{
          return {
            id: item.id,
            title: item.title,
            _distance: item._distance
          }
        })
        // 赋值到 data 当中
        this.setData({
          points
        })
      },
      fail() {
        wx.utils.toast('没有找到小区')
      },
      complete() {
        wx.hideLoading()
      }
    })
  },

  // 点击小区跳转到楼栋页面
  goBuilding(event) {
    console.log(event);
    wx.navigateTo({
      url: '/house_pkg/pages/building/index?point=' + event.mark.point,
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})
